package d3_Math;

import java.util.Scanner;

/*
 *目标: 了解Runtime的常见方法。
 * */
public class RuntimeTest {
    public static void main(String[] args) {
        //万物皆对象,Runtime就代表JVM
        //属于单例模式,就是只能有一个对象,构造器是私有的
        //1、public static Runtime getRuntime() 返回与当前Java应用程序关联的运行时对象
        Runtime jre = Runtime.getRuntime();

        //2、public void exit(int status) 终止当前运行的虚拟机,该参数用做状态代码; 按照惯例, 非零状态为异常结束
        jre.exit(0);//在企业中千万不要用,否则就得进监狱

        //3、public int availableProcessors(): 获取虚拟机能够使用的处理器数
        System.out.println("处理器数: " + jre.availableProcessors());

        //4、public long totalMemory() 返回Java虚拟机的内存总量。 字节数
        System.out.println("Java虚拟机中的内存总量: " + jre.totalMemory() / 1024.0 / 1024.0 + "MB");

        //5、public long freeMemory() 返回Java虚拟机中的可用内存量
        System.out.println("Java虚拟机中的可用内存量" + jre.freeMemory() / 1024.0 / 1024.0 + "MB");

        //6、public Process exec(String command): 执行命令,启动程序
        // jre.exec("calc");
        //启动QQ返回一个进程对象, 代表启动的QQ软件
       // Process process = jre.exec("QQ");
       /* System.out.println("是否关闭y/n");
        Scanner sc = new Scanner(System.in);
        String command = sc.next();
        switch (command){
            case "y":
            case "Y":
                process.destroy();//进行关闭
                break;
            default:
                System.out.println("取消！");
        }*/


    }
}
